package entity;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import org.hibernate.annotations.Cascade;
import org.hibernate.annotations.CascadeType;

@Entity
@Table
public class Cidade {
	
		public Cidade(){
			this.estado = new Estado();
		}
	
		@Id
		@GeneratedValue(strategy=GenerationType.SEQUENCE)
		@Column
		private Integer id;
		
		@Column
		private String cidade;
		
		@Column
		private String ddd;
		
		@JoinColumn(name = "idEstado")
		@ManyToOne
		@Cascade(CascadeType.SAVE_UPDATE)
		private Estado estado;

		@Column
		@Temporal(TemporalType.DATE)
		private Date criacao;
		
		@Column
		@Temporal(TemporalType.DATE)
		private Date alteracao;
		
		public Date getCriacao() {
			return criacao;
		}

		public void setCriacao(Date criacao) {
			this.criacao = criacao;
		}

		public Date getAlteracao() {
			return alteracao;
		}

		public void setAlteracao(Date alteracao) {
			this.alteracao = alteracao;
		}
		
		public Integer getId() {
			return id;
		}

		public void setId(Integer id) {
			this.id = id;
		}

		public String getCidade() {
			return cidade;
		}

		public void setCidade(String cidade) {
			this.cidade = cidade;
		}

		public String getDdd() {
			return ddd;
		}

		public void setDdd(String ddd) {
			this.ddd = ddd;
		}

		public Estado getEstado() {
			return estado;
		}

		public void setEstado(Estado estado) {
			this.estado = estado;
		}
		
		
	
}
